PgBouncer 通用选项

1 pidfile

指定pidfile 路径。

2 listen_addr

1、指定 pgbouncer 的监听地址。
2、* 表示在所有监听网卡上监听。

3 listen_port

1、指定监听端口。
2、默认为:6432。

4 unix_socket_dir

1、指定 Unix 套接字的位置。
2、默认在 /tmp 目录下。

5 unix_socket_mode

1、指定套接字文件的权限。

6 unix_socket_group

指定套接字的文件的属主和属组。

7 user

指定使用哪个操作系统用户启动 pgbouncer 。

8 pool_mode

指定服务器的连接模式。
1、session: 客户端断开连接后,服务器将释放对应会话资源。这是默认行为。
2、transaction: 当事务结束后,服务器将释放对应会话资源。
3、statement: 当某个语句结束后,服务器将释放对应会话资源。

9 max_client_conn

pgbouncer 的最大连接数。默认为100 。
1、增大该值时,对应的操作系统文件描述符也要增加。
2、当每个用户都以自己的用户连接服务器,则理论上最大使用量为:max_client_conn

max_client_conn + (max pool_size * total databases * total users)

3、如果在连接字符串中设置了数据库用户,即所有的用户都以相同的数据库用户连接时,则理论最大值为:

max_client_conn + (max pool_size * total databases)

10 default_pool_size

1、每个用户/数据库能够允许多少个服务器连接。
2、默认为:20

11 min_pool_size

1、如果服务器连接低于此值,则向数据库添加更多连接。
2、适用于数据库不活动一段时间后突然恢复,可以提高一定的性能。
3、默认值为:0 。

12 reserve_pool_size

1、允许保留多少个额外的连接池。更多信息请参考 [[#2.2.13 reserve_pool_timeout]]
2、默认值为:0 。

13 reserve_pool_timeout

1、如果客户端请求连接多少秒之内没有得到服务,则使用备用池的连接。更多信息参考 [[#2.2.12 reserve_pool_size]]。
2、默认值为:5.0 ,单位为秒。

14 max_db_connections

1、连接到 pg_bouncer 的数据库的最大连接数限制。

Warning

这里指的是 pg_bouncer 的数据库,而不是 PostgreSQL 的数据库。

2、到了最大限制时,需要注意,只有连接池的客户端连接关闭时,才能为新客户端打开一个新的连接。
3、默认值:0 (unlimited)不限制。

14.1.1 max_user_connections

1、连接到 pg_bouncer 的用户的最大连接数限制。

Warning

这里指的是 pg_bouncer 的用户,而不是 PostgreSQL 的用户。

2、到了最大限制时,需要注意,只有连接池的客户端连接关闭时,才能为新客户端打开一个新的连接。
3、默认值:0 (unlimited)不限制。